Accounting relationships
Accounting relationship are equations that always hold no matter how do we shock the model.
They are basically:
- relationship of values and quantities spent over sectors and purposes: total value equals to sum of sub components (like row and column in Input-output table)
- and relationships in the form of percentage change, derived from the relationship above (level relations).
For each accounting relationship, it is possible to relax it, in order to change exogenous variables. For example, for market clear condition, price are set to be endogenous. If we need to model an exogenous change on price, then the original market clear condition may not hold, so we need to add a slack variable to make sure the accounting equation still hold.
Here are five major category of accounting equations and their associated slack variables:
- Tradable market clear condition
- TRADSLACK
- Endowment market clear condition
- ENDWSLACK
- Zero pure profit condition
- PROFITSLACK
- Income - expenditure balance
- INCOMESLACK
- Saving-investment balance
- WALRASLACK
These accounting equations will be discussed below.
Note: refers to sets in GTAP model to check the set of commodities in equations below.
Tradable market clear condition
Description
total quantity of tradable goods supply (produced) equals to its demand by different sources. It described the demand of goods (products or factor input)
It determines the endogenous variable: market price PM. If PM is set to be exogenous (or change exogenously), we need to add slack variable to make sure the equation still hold.
Representation in quantity term
Level form

Where:
- QO: quantity of output
- QFij: quantity of demand for i by sector j
- QP: quantity of private demand (?)
- QG: quantity of governmental purchase
- TRADSCLACK: slack variable for tradable goods
Note in baseline data, TRADSLACK = 0. It represents the excess supply or the difference between supply and demand
Linearized (percentage change) form
convert the equation from level form to percentage form, for the convenience of solving model numerically
Total derivative of the equation above:

Recall that percentage change of variable X is defined as : x = (dX / X) * 100
So dX = Xx / 100
However, for the percentage change of TRADSLACK, it is defined as

The reason is that if the denominator is TRADSLACK, it is possible to cause "divided by zero" problem.
Then we have the linearized representation of this condition:
Representation in value term
Level form
Multiply market price PM on both side to the level equation above, to convert quantity to value:
Linearized form
Similarly, convert linearized form equation in quantity to value by multiplying PM on both side of

And have:

If market price PM is endogenous, TRADSLACK remains zero before and after model simulation
Share form
From the linearized form with value, we can further divide both sides with VOM, and have

Where SHRFM, SHRPM and SHRGM are share of initial demands (firm, private, government) in the initial supply.
This equation is called "MKTCLTRD" in GTAPO.TAB
For detailed procedure, see the note of linearization of market clearing condition
Mobile endowment market clear condition
Mobile endowment market clear condition. It describes the demand of mobile factor inputs (only used by producers)
Representation in quantity term
Level form

where
- QFEij refers to endowment i used in sector j
Linearized form
Representation in value term
Level form

Note: in GTAP notation, we use "M" for value related variable, in order to mark the value is measured in which price.
Linearized form
(equation MKTCLENDWM)

Note that in the original model, the endowment are fixed supply, so the LHS of the equation is always zero.
Sluggish endowment market clear condition
For sluggish endowment, the market price is not determined by market clear condition. Instead, we have:

Where:
- QOES: quantity supplied for the sluggish endowment
Here QFE is determined by CES assumption of firm technology.
Supply price PMS(i,j) is determined by the CET assumption on the imperfect mobility of the endowment.
PMS adjusts the imbalance between QOES and QFE.
Zero pure profit condition
Zero profit equation for a firm in sector j is given by the total output value equals to total input value (endowment input and intermediate input)
It is for the supply side (comparing with the market clear condition for demand side)
Level form


Or with slack variable:

Note: it is like the column in IO table.
Note: to understand the value transmission, consider the formula below (for understanding)

Where PTAX refers to tax and is positive
VOA and left: column of IO table
VOM and right: row of IO table.
Zero profit condition is always written in value terms and evaluated at price faced by the firm (agent's price "A")
A firm with exogenous input and output price uses a given technology to choose output level. Zero profit equation determines the level of output.
As long as the general equilibrium nature of the model is reserved, we have PROFITSLACK = 0 after shock.
Note: here we do not consider the specific production function or production technology. So it is not from optimizing a specific production, but just a condition from the economic intuition.
We can further write it as price-quantity notation:

Where:
- PS: agent price of output
- PF: agent price of intermediate input
- PFE: agent price of endowment input
When we measure the value of intermediate input from demand side, we also use the quantity as QF, but with price PM. That is to say, intermediate input's value measured on demand side is VFM and has price PM, while on supply side it is VFA with price PF.
Linearized form
Using "with constant return to scale and cost minimization, price-weighted output quantity change equals to sum of price weighted input quantity change", we have the following equation, where percentage change of PROFITSLACK is evaluated related to VOA:
Linearized form by taking total derivative with respect to quantity and price of the equation above.

This is equation ZEROPROFITS in GTAPO.tab.
For detailed procedure, see the note of linearization of zero profit condition
Income - expenditure balance
Income- expenditure balance conditions include:
- equation of private expenditure
- equation of government expenditure
- equation of total expenditure (private, government, and save)
- equation of total income
- equation of total income equals total expenditure
For expenditure side, we have:

private expenditure equals to expenditure on all tradable commodities it purchases:

Note: VPA is the expenditure. The income from selling inputs is VFA (or VOA) for inputs in endw_comm set.
Government expenditure equals to expenditure on all tradable commodities it purchases:

Total expenditure in the economy:

Where:
- PRIVEXP: total expenditure for private household
- GOVEXP: total expenditure for government
- EXPENDITURE: total expenditure for the economy
- SAVE: expenditure on saving
- VPAi: value of private household purchase on goods i, measured in agent (consumer) price
- VGAi: value of government purchase on goods i, measured in agent (consumer) price
Note that in the market clear condition of tradable goods, value of private and government are represented as VPM and VGM respectively. So I think here we use "A" because we consider private and government as agents, and consider specific price modifier (tax or subsidy) applied on them.
On income side, we have:

Formation of income:

Where:
- INCOME: total income of the economy
- VOAi: value of good i (here we refers to endowment only, but VOA can be used for production outputs as well), measured in agent price
- NETTAXES: net tax (positive means income from taxes)
- VDEP: depreciation
Finally, we have the income-expenditure (household budget) balance:
INCOME = EXPENDITURE = PRIVEXP + GOVEXP + SAVE
Note: when we say "household budget" here, the "household" refers to the regional household or the whole economy, which takes all income and separate to private household (the "household" in common saying), government, and saving.
Saving-investment balance
We have saving-investment balance:
NETINV = SAVE
or
VOM("cgds") - VDEP = SAVE
SAVE: the demand of cgds commodity
NETINV = VOM("cgds") - VDEP = GROSSINV - VDEP: supply of cgds commodity
We also have:
SAVE = PSAVE × QSAVE
NETINV = GROSSINV - VDEP

VOA("cgds") = PS("cgds") × QO("cgds") = PCGDS × QCGDS
Note: cgds is in the set of PROD_COMM and CGDS_COMM (see sets in GTAP model) but not in TRAD_COMM. So:
- it is supplied as other commodities, and has zero pure profit condition, as a sector using endowment and intermediate input to produce cgds. Quantity term: QO, Value term VOA, VFA; price term PS.
- its production uses other tradable commodities as intermediate inputs, so it occurs in market clear condition of tradable goods, as a sector using tradable goods as input. Quantity term QF; value term VFM.
- its production uses inputs from ENDW_COMM set, so it occurs in market clear condition of endowments, as a sector using endowments as input. Quantity term QFEl value term VFM.
- it is not used by private household, government or production as intermediate goods. So it is only supplied for the demand of SAVE.
To reflect the excess of investment supply over saving, we add a slack variable:
NETINV = SAVE + WALRASLACK
Similarly, we define
to avoid "dividing by zero" problem.
Total differentiate the equation above, we have it in the linearized form
NETINV × walras_sup = SAVE × walras_dem + NETINV × walraslack
Where:
- SAVE: demand for saving
- walras_dem: linearized form (percentage change) for SAVE
- NETINV: supply for net investment, net investment goods
- walras_sup: linearized form for NETINV
We can write it as
walras_sup = walras_dem + walraslack
Where
- walras_dem = qsave

Procedure to get the second equation:
NETINV = GROSSINV - VDEP
total differentiate it:
dNETINV = dGROSSINV - dVDEP
NETINV walras_sup = GROSSINV qcgds - VDEP kb